<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>AngelScript: asIScriptFunction Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="test/javascript" src="touch.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="aslogo_small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">AngelScript
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classas_i_script_function.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="classas_i_script_function-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">asIScriptFunction Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>The interface for a script function description.  
</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Miscellaneous</div></td></tr>
<tr class="memitem:a7a0ef04f035d1809fb8b7702134afd06"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7a0ef04f035d1809fb8b7702134afd06">GetEngine</a> () const =0</td></tr>
<tr class="memdesc:a7a0ef04f035d1809fb8b7702134afd06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the script engine.  <a href="#a7a0ef04f035d1809fb8b7702134afd06">More...</a><br/></td></tr>
<tr class="separator:a7a0ef04f035d1809fb8b7702134afd06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a00f9581e7ece5f2a536d0e22c10d0c"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a0a00f9581e7ece5f2a536d0e22c10d0c">AddRef</a> () const =0</td></tr>
<tr class="memdesc:a0a00f9581e7ece5f2a536d0e22c10d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Increases the reference counter.  <a href="#a0a00f9581e7ece5f2a536d0e22c10d0c">More...</a><br/></td></tr>
<tr class="separator:a0a00f9581e7ece5f2a536d0e22c10d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a98f1f7f91574a11d7d8c5062bdcdee"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a0a98f1f7f91574a11d7d8c5062bdcdee">Release</a> () const =0</td></tr>
<tr class="memdesc:a0a98f1f7f91574a11d7d8c5062bdcdee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decrease reference counter.  <a href="#a0a98f1f7f91574a11d7d8c5062bdcdee">More...</a><br/></td></tr>
<tr class="separator:a0a98f1f7f91574a11d7d8c5062bdcdee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aca255486dd77b8846f545495128cac"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7aca255486dd77b8846f545495128cac">GetId</a> () const =0</td></tr>
<tr class="memdesc:a7aca255486dd77b8846f545495128cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the id of the function.  <a href="#a7aca255486dd77b8846f545495128cac">More...</a><br/></td></tr>
<tr class="separator:a7aca255486dd77b8846f545495128cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4d06c7d590e7eb4df280a8224f4499c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648f">asEFuncType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aa4d06c7d590e7eb4df280a8224f4499c">GetFuncType</a> () const =0</td></tr>
<tr class="memdesc:aa4d06c7d590e7eb4df280a8224f4499c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the function.  <a href="#aa4d06c7d590e7eb4df280a8224f4499c">More...</a><br/></td></tr>
<tr class="separator:aa4d06c7d590e7eb4df280a8224f4499c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03c30e4764f81c01400d7f77a8d0832"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#af03c30e4764f81c01400d7f77a8d0832">GetModuleName</a> () const =0</td></tr>
<tr class="memdesc:af03c30e4764f81c01400d7f77a8d0832"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the module where the function was implemented.  <a href="#af03c30e4764f81c01400d7f77a8d0832">More...</a><br/></td></tr>
<tr class="separator:af03c30e4764f81c01400d7f77a8d0832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c3477dd6b634e6b6ca3d5b97f6d5b30"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_module.html">asIScriptModule</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a5c3477dd6b634e6b6ca3d5b97f6d5b30">GetModule</a> () const =0</td></tr>
<tr class="memdesc:a5c3477dd6b634e6b6ca3d5b97f6d5b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the module where the function is declared.  <a href="#a5c3477dd6b634e6b6ca3d5b97f6d5b30">More...</a><br/></td></tr>
<tr class="separator:a5c3477dd6b634e6b6ca3d5b97f6d5b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62a77c029782162135d98d6e2b383eca"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a62a77c029782162135d98d6e2b383eca">GetScriptSectionName</a> () const =0</td></tr>
<tr class="memdesc:a62a77c029782162135d98d6e2b383eca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the script section where the function was implemented.  <a href="#a62a77c029782162135d98d6e2b383eca">More...</a><br/></td></tr>
<tr class="separator:a62a77c029782162135d98d6e2b383eca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afea841f0923573cea81467ac90b71996"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#afea841f0923573cea81467ac90b71996">GetConfigGroup</a> () const =0</td></tr>
<tr class="memdesc:afea841f0923573cea81467ac90b71996"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the config group in which the function was registered.  <a href="#afea841f0923573cea81467ac90b71996">More...</a><br/></td></tr>
<tr class="separator:afea841f0923573cea81467ac90b71996"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c49841eb92a0993a16eb855577b590c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a5c49841eb92a0993a16eb855577b590c">GetAccessMask</a> () const =0</td></tr>
<tr class="memdesc:a5c49841eb92a0993a16eb855577b590c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the access mast of the function.  <a href="#a5c49841eb92a0993a16eb855577b590c">More...</a><br/></td></tr>
<tr class="separator:a5c49841eb92a0993a16eb855577b590c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbdd97f1c3658cb4f82a154591e100f6"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#acbdd97f1c3658cb4f82a154591e100f6">GetAuxiliary</a> () const =0</td></tr>
<tr class="memdesc:acbdd97f1c3658cb4f82a154591e100f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the auxiliary object registered with the function.  <a href="#acbdd97f1c3658cb4f82a154591e100f6">More...</a><br/></td></tr>
<tr class="separator:acbdd97f1c3658cb4f82a154591e100f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Function signature</div></td></tr>
<tr class="memitem:af930b362c37e5c4c117485d0bd4a34fb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_type_info.html">asITypeInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#af930b362c37e5c4c117485d0bd4a34fb">GetObjectType</a> () const =0</td></tr>
<tr class="memdesc:af930b362c37e5c4c117485d0bd4a34fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object type for class or interface method.  <a href="#af930b362c37e5c4c117485d0bd4a34fb">More...</a><br/></td></tr>
<tr class="separator:af930b362c37e5c4c117485d0bd4a34fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69e30464d13867fb72e66ce3365fdec8"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a69e30464d13867fb72e66ce3365fdec8">GetObjectName</a> () const =0</td></tr>
<tr class="memdesc:a69e30464d13867fb72e66ce3365fdec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the object for class or interface methods.  <a href="#a69e30464d13867fb72e66ce3365fdec8">More...</a><br/></td></tr>
<tr class="separator:a69e30464d13867fb72e66ce3365fdec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96cf134f1369f312aa182de5006f8b71"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a96cf134f1369f312aa182de5006f8b71">GetName</a> () const =0</td></tr>
<tr class="memdesc:a96cf134f1369f312aa182de5006f8b71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the name of the function or method.  <a href="#a96cf134f1369f312aa182de5006f8b71">More...</a><br/></td></tr>
<tr class="separator:a96cf134f1369f312aa182de5006f8b71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab692c00b9a7111778acb4fbca1c63df7"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#ab692c00b9a7111778acb4fbca1c63df7">GetNamespace</a> () const =0</td></tr>
<tr class="memdesc:ab692c00b9a7111778acb4fbca1c63df7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the namespace of the function.  <a href="#ab692c00b9a7111778acb4fbca1c63df7">More...</a><br/></td></tr>
<tr class="separator:ab692c00b9a7111778acb4fbca1c63df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fb021b09ae0e7e87f8fa4fdfd39df83"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a2fb021b09ae0e7e87f8fa4fdfd39df83">GetDeclaration</a> (bool includeObjectName=true, bool includeNamespace=false, bool includeParamNames=false) const =0</td></tr>
<tr class="memdesc:a2fb021b09ae0e7e87f8fa4fdfd39df83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function declaration.  <a href="#a2fb021b09ae0e7e87f8fa4fdfd39df83">More...</a><br/></td></tr>
<tr class="separator:a2fb021b09ae0e7e87f8fa4fdfd39df83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99bbe26ae0ec3f0cc09070bf89aff2f9"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a99bbe26ae0ec3f0cc09070bf89aff2f9">IsReadOnly</a> () const =0</td></tr>
<tr class="memdesc:a99bbe26ae0ec3f0cc09070bf89aff2f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the class method is read-only.  <a href="#a99bbe26ae0ec3f0cc09070bf89aff2f9">More...</a><br/></td></tr>
<tr class="separator:a99bbe26ae0ec3f0cc09070bf89aff2f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ef1f42ff812a03e2a323046835159fb"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a7ef1f42ff812a03e2a323046835159fb">IsPrivate</a> () const =0</td></tr>
<tr class="memdesc:a7ef1f42ff812a03e2a323046835159fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the class method is private.  <a href="#a7ef1f42ff812a03e2a323046835159fb">More...</a><br/></td></tr>
<tr class="separator:a7ef1f42ff812a03e2a323046835159fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e17b763527ba3a9b0d05c4cd35b5742"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a2e17b763527ba3a9b0d05c4cd35b5742">IsProtected</a> () const =0</td></tr>
<tr class="memdesc:a2e17b763527ba3a9b0d05c4cd35b5742"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the class method is protected.  <a href="#a2e17b763527ba3a9b0d05c4cd35b5742">More...</a><br/></td></tr>
<tr class="separator:a2e17b763527ba3a9b0d05c4cd35b5742"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa071c702946372020a1245f901502d52"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aa071c702946372020a1245f901502d52">IsFinal</a> () const =0</td></tr>
<tr class="memdesc:aa071c702946372020a1245f901502d52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the method is final.  <a href="#aa071c702946372020a1245f901502d52">More...</a><br/></td></tr>
<tr class="separator:aa071c702946372020a1245f901502d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aec17ae5639fb9cad403c835d429f6e"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a5aec17ae5639fb9cad403c835d429f6e">IsOverride</a> () const =0</td></tr>
<tr class="memdesc:a5aec17ae5639fb9cad403c835d429f6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the method is meant to override a method in the base class.  <a href="#a5aec17ae5639fb9cad403c835d429f6e">More...</a><br/></td></tr>
<tr class="separator:a5aec17ae5639fb9cad403c835d429f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a805ae8064598ad12f44bb583118b6cc5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a805ae8064598ad12f44bb583118b6cc5">IsShared</a> () const =0</td></tr>
<tr class="memdesc:a805ae8064598ad12f44bb583118b6cc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the function is shared.  <a href="#a805ae8064598ad12f44bb583118b6cc5">More...</a><br/></td></tr>
<tr class="separator:a805ae8064598ad12f44bb583118b6cc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca059886317b944c52933b7bbe85cfa"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a8ca059886317b944c52933b7bbe85cfa">GetParamCount</a> () const =0</td></tr>
<tr class="memdesc:a8ca059886317b944c52933b7bbe85cfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of parameters for this function.  <a href="#a8ca059886317b944c52933b7bbe85cfa">More...</a><br/></td></tr>
<tr class="separator:a8ca059886317b944c52933b7bbe85cfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b3000b9fc5d3f2cfeea490d8c0c062a"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a2b3000b9fc5d3f2cfeea490d8c0c062a">GetParam</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, int *typeId, <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0, const char **name=0, const char **defaultArg=0) const =0</td></tr>
<tr class="memdesc:a2b3000b9fc5d3f2cfeea490d8c0c062a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the specified parameter.  <a href="#a2b3000b9fc5d3f2cfeea490d8c0c062a">More...</a><br/></td></tr>
<tr class="separator:a2b3000b9fc5d3f2cfeea490d8c0c062a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af75544f2e9216b5ee611cefe4cfa7672"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#af75544f2e9216b5ee611cefe4cfa7672">GetParamTypeId</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0) const =0</td></tr>
<tr class="separator:af75544f2e9216b5ee611cefe4cfa7672"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18968d49065c6af9833ee589b6d1e864"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a18968d49065c6af9833ee589b6d1e864">GetReturnTypeId</a> (<a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *flags=0) const =0</td></tr>
<tr class="memdesc:a18968d49065c6af9833ee589b6d1e864"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id of the return type.  <a href="#a18968d49065c6af9833ee589b6d1e864">More...</a><br/></td></tr>
<tr class="separator:a18968d49065c6af9833ee589b6d1e864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Type id for function pointers</div></td></tr>
<tr class="memitem:a4a5e24c464e423a2a6724cb849babd21"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a4a5e24c464e423a2a6724cb849babd21">GetTypeId</a> () const =0</td></tr>
<tr class="memdesc:a4a5e24c464e423a2a6724cb849babd21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type id representing a function pointer for this function.  <a href="#a4a5e24c464e423a2a6724cb849babd21">More...</a><br/></td></tr>
<tr class="separator:a4a5e24c464e423a2a6724cb849babd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76715df2843cb37cc010fc3a5d999e84"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a76715df2843cb37cc010fc3a5d999e84">IsCompatibleWithTypeId</a> (int typeId) const =0</td></tr>
<tr class="memdesc:a76715df2843cb37cc010fc3a5d999e84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the given type id can represent this function.  <a href="#a76715df2843cb37cc010fc3a5d999e84">More...</a><br/></td></tr>
<tr class="separator:a76715df2843cb37cc010fc3a5d999e84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Delegates</div></td></tr>
<tr class="memitem:ae1786c3f4341dc3bfcaacc3cb8900a57"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#ae1786c3f4341dc3bfcaacc3cb8900a57">GetDelegateObject</a> () const =0</td></tr>
<tr class="memdesc:ae1786c3f4341dc3bfcaacc3cb8900a57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object for the delegate.  <a href="#ae1786c3f4341dc3bfcaacc3cb8900a57">More...</a><br/></td></tr>
<tr class="separator:ae1786c3f4341dc3bfcaacc3cb8900a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad79461f80fcffd513b43564d75cc5360"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_type_info.html">asITypeInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#ad79461f80fcffd513b43564d75cc5360">GetDelegateObjectType</a> () const =0</td></tr>
<tr class="memdesc:ad79461f80fcffd513b43564d75cc5360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the type of the delegated object.  <a href="#ad79461f80fcffd513b43564d75cc5360">More...</a><br/></td></tr>
<tr class="separator:ad79461f80fcffd513b43564d75cc5360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa28f4e68da8abb770d7f725375bcd2bb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aa28f4e68da8abb770d7f725375bcd2bb">GetDelegateFunction</a> () const =0</td></tr>
<tr class="memdesc:aa28f4e68da8abb770d7f725375bcd2bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the function for the delegate.  <a href="#aa28f4e68da8abb770d7f725375bcd2bb">More...</a><br/></td></tr>
<tr class="separator:aa28f4e68da8abb770d7f725375bcd2bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Debug information</div></td></tr>
<tr class="memitem:a92e14168997c0f67a975e7ed042d8328"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a92e14168997c0f67a975e7ed042d8328">GetVarCount</a> () const =0</td></tr>
<tr class="memdesc:a92e14168997c0f67a975e7ed042d8328"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of local variables in the function.  <a href="#a92e14168997c0f67a975e7ed042d8328">More...</a><br/></td></tr>
<tr class="separator:a92e14168997c0f67a975e7ed042d8328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf11dde60bec710bcd729127bfe12dd4"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#aaf11dde60bec710bcd729127bfe12dd4">GetVar</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, const char **name, int *typeId=0) const =0</td></tr>
<tr class="memdesc:aaf11dde60bec710bcd729127bfe12dd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about a local variable.  <a href="#aaf11dde60bec710bcd729127bfe12dd4">More...</a><br/></td></tr>
<tr class="separator:aaf11dde60bec710bcd729127bfe12dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acef067f00f2a6a997d6955f5cf3c6d13"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#acef067f00f2a6a997d6955f5cf3c6d13">GetVarDecl</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> index, bool includeNamespace=false) const =0</td></tr>
<tr class="memdesc:acef067f00f2a6a997d6955f5cf3c6d13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the declaration of a local variable.  <a href="#acef067f00f2a6a997d6955f5cf3c6d13">More...</a><br/></td></tr>
<tr class="separator:acef067f00f2a6a997d6955f5cf3c6d13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30dc23991856a13f59e682b3b1498e2f"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a30dc23991856a13f59e682b3b1498e2f">FindNextLineWithCode</a> (int line) const =0</td></tr>
<tr class="memdesc:a30dc23991856a13f59e682b3b1498e2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next line number with code.  <a href="#a30dc23991856a13f59e682b3b1498e2f">More...</a><br/></td></tr>
<tr class="separator:a30dc23991856a13f59e682b3b1498e2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">JIT compilation</div></td></tr>
<tr class="memitem:afb38e9ba77ce8b49378e43dadd83ef94"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#afb38e9ba77ce8b49378e43dadd83ef94">GetByteCode</a> (<a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> *length=0)=0</td></tr>
<tr class="memdesc:afb38e9ba77ce8b49378e43dadd83ef94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the byte code buffer and length.  <a href="#afb38e9ba77ce8b49378e43dadd83ef94">More...</a><br/></td></tr>
<tr class="separator:afb38e9ba77ce8b49378e43dadd83ef94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">User data</div></td></tr>
<tr class="memitem:a9dd036ce8e91d335eb5a3ad8851f1a41"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a9dd036ce8e91d335eb5a3ad8851f1a41">SetUserData</a> (void *userData, <a class="el" href="angelscript_8h.html#a76fc6994aba7ff6c685a62c273c057e3">asPWORD</a> type=0)=0</td></tr>
<tr class="memdesc:a9dd036ce8e91d335eb5a3ad8851f1a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register the memory address of some user data.  <a href="#a9dd036ce8e91d335eb5a3ad8851f1a41">More...</a><br/></td></tr>
<tr class="separator:a9dd036ce8e91d335eb5a3ad8851f1a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d0d4671e524fcd868a34bee33ee9fde"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classas_i_script_function.html#a0d0d4671e524fcd868a34bee33ee9fde">GetUserData</a> (<a class="el" href="angelscript_8h.html#a76fc6994aba7ff6c685a62c273c057e3">asPWORD</a> type=0) const =0</td></tr>
<tr class="memdesc:a0d0d4671e524fcd868a34bee33ee9fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the address of the previously registered user data.  <a href="#a0d0d4671e524fcd868a34bee33ee9fde">More...</a><br/></td></tr>
<tr class="separator:a0d0d4671e524fcd868a34bee33ee9fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0a00f9581e7ece5f2a536d0e22c10d0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::AddRef </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of references to this object.</dd></dl>
<p>Call this method when storing an additional reference to the object. </p>

</div>
</div>
<a class="anchor" id="a30dc23991856a13f59e682b3b1498e2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::FindNextLineWithCode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">line</td><td>A line number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of the next line with code, or a negative value if the line is outside the function. </dd></dl>

</div>
</div>
<a class="anchor" id="a5c49841eb92a0993a16eb855577b590c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> asIScriptFunction::GetAccessMask </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The access mask of the function. </dd></dl>

</div>
</div>
<a class="anchor" id="acbdd97f1c3658cb4f82a154591e100f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::GetAuxiliary </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The auxiliary object registered with the function. </dd></dl>

</div>
</div>
<a class="anchor" id="afb38e9ba77ce8b49378e43dadd83ef94"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a>* asIScriptFunction::GetByteCode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> *&#160;</td>
          <td class="paramname"><em>length</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">length</td><td>The length of the byte code buffer in DWORDs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the byte code buffer, or 0 if this is not a script function.</dd></dl>
<p>This function is used by the <a class="el" href="classas_i_j_i_t_compiler.html">asIJITCompiler</a> to obtain the byte code buffer for building the native machine code representation. </p>

</div>
</div>
<a class="anchor" id="afea841f0923573cea81467ac90b71996"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetConfigGroup </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The name of the config group, or null if not in any group. </dd></dl>

</div>
</div>
<a class="anchor" id="a2fb021b09ae0e7e87f8fa4fdfd39df83"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetDeclaration </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeObjectName</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeNamespace</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeParamNames</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">includeObjectName</td><td>Indicate whether the object name should be prepended to the function name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">includeNamespace</td><td>Indicates whether the namespace should be prepended to the function name </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">includeParamNames</td><td>Indicates whether parameter names should be added to the declaration </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A null terminated string with the function declaration.</dd></dl>
<p>The parameter names are not stored for <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648fac6a82b2b64cfee8e143a41b4b627083a">virtual methods</a>. If you want to know the name of parameters to class methods, be sure to get the actual implementation rather than the virtual method. </p>

</div>
</div>
<a class="anchor" id="aa28f4e68da8abb770d7f725375bcd2bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_function.html">asIScriptFunction</a>* asIScriptFunction::GetDelegateFunction </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the delegated function </dd></dl>

</div>
</div>
<a class="anchor" id="ae1786c3f4341dc3bfcaacc3cb8900a57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::GetDelegateObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the delegated object </dd></dl>

</div>
</div>
<a class="anchor" id="ad79461f80fcffd513b43564d75cc5360"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_type_info.html">asITypeInfo</a>* asIScriptFunction::GetDelegateObjectType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object type of the delegated object. </dd></dl>

</div>
</div>
<a class="anchor" id="a7a0ef04f035d1809fb8b7702134afd06"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_engine.html">asIScriptEngine</a>* asIScriptFunction::GetEngine </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the engine. </dd></dl>

</div>
</div>
<a class="anchor" id="aa4d06c7d590e7eb4df280a8224f4499c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648f">asEFuncType</a> asIScriptFunction::GetFuncType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The type of the function </dd></dl>

</div>
</div>
<a class="anchor" id="a7aca255486dd77b8846f545495128cac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The id of the function </dd></dl>

</div>
</div>
<a class="anchor" id="a5c3477dd6b634e6b6ca3d5b97f6d5b30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_script_module.html">asIScriptModule</a>* asIScriptFunction::GetModule </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The module where the function is declared.</dd></dl>
<p>The returned value can be null if the module doesn't exist anymore. </p>

</div>
</div>
<a class="anchor" id="af03c30e4764f81c01400d7f77a8d0832"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetModuleName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A null terminated string with the module name. </dd></dl>

</div>
</div>
<a class="anchor" id="a96cf134f1369f312aa182de5006f8b71"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A null terminated string with the name of the function. </dd></dl>

</div>
</div>
<a class="anchor" id="ab692c00b9a7111778acb4fbca1c63df7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetNamespace </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The namespace of the function, or null if not defined. </dd></dl>

</div>
</div>
<a class="anchor" id="a69e30464d13867fb72e66ce3365fdec8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetObjectName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A null terminated string with the name of the object type if this a method. </dd></dl>

</div>
</div>
<a class="anchor" id="af930b362c37e5c4c117485d0bd4a34fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classas_i_type_info.html">asITypeInfo</a>* asIScriptFunction::GetObjectType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A pointer to the object type interface if this is a method.</dd></dl>
<p>This does not increase the reference count of the returned object type. </p>

</div>
</div>
<a class="anchor" id="a2b3000b9fc5d3f2cfeea490d8c0c062a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetParam </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>typeId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>name</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>defaultArg</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based parameter index. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">typeId</td><td>The typeId of the parameter. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>A combination of <a class="el" href="angelscript_8h.html#a335bd4a1384b6e408bf9b37ffdeb54c7">asETypeModifiers</a>. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>The name of the parameter (or null if not defined). </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">defaultArg</td><td>The default argument expression (or null if not defined). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error. </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The index is out of bounds.</td></tr>
  </table>
  </dd>
</dl>
<p>The parameter names are not stored for <a class="el" href="angelscript_8h.html#a06fb2a1ebf5d007e0d542abced1b648fac6a82b2b64cfee8e143a41b4b627083a">virtual methods</a>. If you want to know the name of parameters to class methods, be sure to get the actual implementation rather than the virtual method. </p>

</div>
</div>
<a class="anchor" id="a8ca059886317b944c52933b7bbe85cfa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptFunction::GetParamCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of parameters. </dd></dl>

</div>
</div>
<a class="anchor" id="af75544f2e9216b5ee611cefe4cfa7672"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetParamTypeId </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000019">Deprecated:</a></b></dt><dd>Since 2.29.0. Use <a class="el" href="classas_i_script_function.html#a2b3000b9fc5d3f2cfeea490d8c0c062a">asIScriptFunction::GetParam</a> instead. </dd></dl>

</div>
</div>
<a class="anchor" id="a18968d49065c6af9833ee589b6d1e864"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetReturnTypeId </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a5428f0c940201e5f3bbb28304aeb81bc">asDWORD</a> *&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">flags</td><td>A combination of <a class="el" href="angelscript_8h.html#a335bd4a1384b6e408bf9b37ffdeb54c7">asETypeModifiers</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type id of the return type. </dd></dl>

</div>
</div>
<a class="anchor" id="a62a77c029782162135d98d6e2b383eca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetScriptSectionName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>A null terminated string with the script section name where the function was implemented.</dd></dl>
<p>The returned pointer is null when the function doesn't originate from a script file, i.e. a registered function or an auto-generated script function. It can also be null if the information has been removed, e.g. when saving bytecode without debug info. </p>

</div>
</div>
<a class="anchor" id="a4a5e24c464e423a2a6724cb849babd21"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetTypeId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The type id that represents a function pointer for this function </dd></dl>

</div>
</div>
<a class="anchor" id="a0d0d4671e524fcd868a34bee33ee9fde"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::GetUserData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a76fc6994aba7ff6c685a62c273c057e3">asPWORD</a>&#160;</td>
          <td class="paramname"><em>type</em> = <code>0</code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>An identifier specifying the user data to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The pointer to the user data. </dd></dl>

</div>
</div>
<a class="anchor" id="aaf11dde60bec710bcd729127bfe12dd4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::GetVar </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>typeId</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based index of the local variable </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">name</td><td>Receives the name of the variable </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">typeId</td><td>Receives the typeId of the variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A negative value on error </dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">asINVALID_ARG</td><td>The <em>index</em> is out of range </td></tr>
    <tr><td class="paramname">asNOT_SUPPORTED</td><td>The function is not a script function </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a92e14168997c0f67a975e7ed042d8328"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a> asIScriptFunction::GetVarCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of local variables in the function </dd></dl>

</div>
</div>
<a class="anchor" id="acef067f00f2a6a997d6955f5cf3c6d13"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* asIScriptFunction::GetVarDecl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#ac8186f029686800b7ce36bde4a55c815">asUINT</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>includeNamespace</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>The zero based index of the local variable </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">includeNamespace</td><td>Set to true if the namespace should be included in the declaration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The declaration string, or null on error </dd></dl>

</div>
</div>
<a class="anchor" id="a76715df2843cb37cc010fc3a5d999e84"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsCompatibleWithTypeId </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>typeId</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Returns true if the type id can represent this function. </dd></dl>

</div>
</div>
<a class="anchor" id="aa071c702946372020a1245f901502d52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsFinal </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the method is final. </dd></dl>

</div>
</div>
<a class="anchor" id="a5aec17ae5639fb9cad403c835d429f6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsOverride </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the method is meant to override a method in the base class. </dd></dl>

</div>
</div>
<a class="anchor" id="a7ef1f42ff812a03e2a323046835159fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsPrivate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the class method is private </dd></dl>

</div>
</div>
<a class="anchor" id="a2e17b763527ba3a9b0d05c4cd35b5742"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsProtected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the class method is protected </dd></dl>

</div>
</div>
<a class="anchor" id="a99bbe26ae0ec3f0cc09070bf89aff2f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsReadOnly </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the class method is read-only </dd></dl>

</div>
</div>
<a class="anchor" id="a805ae8064598ad12f44bb583118b6cc5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool asIScriptFunction::IsShared </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if the function is shared. </dd></dl>

</div>
</div>
<a class="anchor" id="a0a98f1f7f91574a11d7d8c5062bdcdee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int asIScriptFunction::Release </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>The number of references to this object.</dd></dl>
<p>Call this method when you will no longer use the references that you own. </p>

</div>
</div>
<a class="anchor" id="a9dd036ce8e91d335eb5a3ad8851f1a41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* asIScriptFunction::SetUserData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="angelscript_8h.html#a76fc6994aba7ff6c685a62c273c057e3">asPWORD</a>&#160;</td>
          <td class="paramname"><em>type</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">userData</td><td>A pointer to the user data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>An identifier specifying the user data to set. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The previous pointer stored in the context.</dd></dl>
<p>This method allows the application to associate a value, e.g. a pointer, with the context instance.</p>
<p>The type values 1000 through 1999 are reserved for use by the official add-ons.</p>
<p>Optionally, a callback function can be <a class="el" href="classas_i_script_engine.html#ae75ee087fe6608cf0af1c24794ca73c7">registered</a> to clean up the user data when the function is destroyed. As the callback is registered with the engine, it is only necessary to do it once. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="angelscript_8h.html">angelscript.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classas_i_script_function.html">asIScriptFunction</a></li>
    <li class="footer">Generated on Sun Dec 18 2016 12:35:31 for AngelScript by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
  </ul>
</div>
</body>
</html>
